<?php


namespace EchoPHP\Support\Contacts;

/**
 * 数组类型存储格式操作接口
 * Interface Repository
 * @package EchoPHP\Support\Contacts
 */
interface Repository {
    /**
     * 根据键名获取内容
     * @param $key
     * @return mixed
     */
    public function get($key);

    /**
     * 获取全部内容
     * @return mixed
     */
    public function all();

    /**
     * 设置键值
     * @param string $key
     * @param mixed $value
     * @return mixed
     */
    public function set($key, $value);

    /**
     * 往一个数组的开头插入一个值
     * @param string $key
     * @param array $value
     * @return mixed
     */
    public function prepend($key, $value);

    /**
     * 往一个数组的结尾插入一个值
     * @param string $key
     * @param array $value
     * @return mixed
     */
    public function push($key, $value);

}